package cn.b.sky.mes.andon.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.andon.model.MessageRuleAndonAssign;
import cn.b.sky.mes.andon.model.condition.MessageRuleAndonAssignCondition;

/**
 * 
 * <strong>Title : MessageRuleAndonAssignDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.andon.dao<br></strong>
 * <strong>Description : </strong>消息规则暗灯分配相关数据库操作接口定义<br> 
 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
 * <p>
 * @author JunLin.Yang<br>
 * @version <strong>v1.0.0</strong><br>
 */
public interface MessageRuleAndonAssignDao {
	
		/**
  	 * 
  	 * <strong>Title : insertMessageRuleAndonAssign<br></strong>
  	 * <strong>Description : </strong>新增消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @param data 消息规则暗灯分配
  	 * @return
  	 * int 新增记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
 		 */
  public int insertMessageRuleAndonAssign(MessageRuleAndonAssign data);
  
  	/**
  	 * 
  	 * <strong>Title : updateMessageRuleAndonAssign<br></strong>
  	 * <strong>Description : </strong>更新消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @param data 消息规则暗灯分配
  	 * @return
  	 * int 更新的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int updateMessageRuleAndonAssign(MessageRuleAndonAssign data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleAndonAssign<br></strong>
  	 * <strong>Description : </strong>删除消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @param data 消息规则暗灯分配
  	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleAndonAssign(MessageRuleAndonAssign data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : getMessageRuleAndonAssignsCount<br></strong>
  	 * <strong>Description : </strong>查询所有的消息规则暗灯分配数据记录数<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @return
  	 * long 数据记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public long getMessageRuleAndonAssignsCount();
  	
  	/**
  	 * 
  	 * <strong>Title : selectMessageRuleAndonAssigns<br></strong>
  	 * <strong>Description : </strong>查询所有的消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @return
  	 * List<MessageRuleAndonAssign> 所有的消息规则暗灯分配数据
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public List<MessageRuleAndonAssign> selectMessageRuleAndonAssigns();
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleAndonAssignByPrimaryKey<br></strong>
  	 * <strong>Description : </strong>根据主键信息删除消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
	 * @param siteCode 工厂编号
	 * @param andonCode 暗灯编号
	 * @param ruleCode 消息规则编号
	 * @param workUnitCode 作业单元编号
	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleAndonAssignByPrimaryKey(@Param("siteCode")String siteCode,@Param("andonCode")String andonCode,@Param("ruleCode")String ruleCode,@Param("workUnitCode")String workUnitCode);
  	
  /**
	 * 
	 * <strong>Title : getMessageRuleAndonAssignByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询消息规则暗灯分配对象<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param siteCode 工厂编号
	 * @param andonCode 暗灯编号
	 * @param ruleCode 消息规则编号
	 * @param workUnitCode 作业单元编号
	 * @return
	 * MessageRuleAndonAssign 消息规则暗灯分配对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public MessageRuleAndonAssign getMessageRuleAndonAssignByPrimaryKey(@Param("siteCode")String siteCode,@Param("andonCode")String andonCode,@Param("ruleCode")String ruleCode,@Param("workUnitCode")String workUnitCode);
  
  /**
	 * 
	 * <strong>Title : existMessageRuleAndonAssignByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询消息规则暗灯分配对象是否存在<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param siteCode 工厂编号
	 * @param andonCode 暗灯编号
	 * @param ruleCode 消息规则编号
	 * @param workUnitCode 作业单元编号
	 * @return
	 * boolean 数据是否存在
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public boolean existMessageRuleAndonAssignByPrimaryKey(@Param("siteCode")String siteCode,@Param("andonCode")String andonCode,@Param("ruleCode")String ruleCode,@Param("workUnitCode")String workUnitCode);
  
  	/**
  	 * 
  	 * <strong>Title : existsMessageRuleAndonAssignByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象查询消息规则暗灯分配数据是否存在<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @param condition 消息规则暗灯分配查询对象
  	 * boolean 数据是否存在
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public boolean existsMessageRuleAndonAssignByCondition(MessageRuleAndonAssignCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleAndonAssignByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象删除消息规则暗灯分配数据<br> 
  	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
  	 * <p>
  	 * @param condition 消息规则暗灯分配查询对象
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleAndonAssignByCondition(MessageRuleAndonAssignCondition condition);
	
	
  /**
	 * 
	 * <strong>Title : getMessageRuleAndonAssignByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询对应消息规则暗灯分配对象<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param condition 消息规则暗灯分配查询条件
	 * @return
	 * MessageRuleAndonAssign 消息规则暗灯分配对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public MessageRuleAndonAssign getMessageRuleAndonAssignByCondition(MessageRuleAndonAssignCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectMessageRuleAndonAssignsByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询消息规则暗灯分配集合<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param condition 消息规则暗灯分配查询条件
	 * @return 
	 * List<MessageRuleAndonAssign> 消息规则暗灯分配集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<MessageRuleAndonAssign> selectMessageRuleAndonAssignsByCondition(MessageRuleAndonAssignCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectMessageRuleAndonAssignPageDataByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应分页的消息规则暗灯分配集合<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param condition 消息规则暗灯分配查询条件
	 * @return 
	 * List<MessageRuleAndonAssign> 消息规则暗灯分配集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<MessageRuleAndonAssign> selectMessageRuleAndonAssignPageDataByCondition(MessageRuleAndonAssignCondition condition);

	/**
	 * 
	 * <strong>Title : getMessageRuleAndonAssignsCountByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应的消息规则暗灯分配记录数<br> 
	 * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
	 * <p>
	 * @param condition 消息规则暗灯分配查询条件
	 * @return
	 * long 数据记录数
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  	public long getMessageRuleAndonAssignsCountByCondition(MessageRuleAndonAssignCondition condition);
  	
  	/**
     * 
     * <strong>Title : selectMessageRuleAndonAssignsDetailByCondition<br></strong>
     * <strong>Description : </strong>根据查询条件查询消息规则暗灯分配集合明细<br> 
     * <strong>Create on : 2016-10-19 上午10:36:16<br></strong>
     * <p>
     * @param condition 消息规则暗灯分配查询条件
     * @return 
     * List<MessageRuleAndonAssign> 消息规则暗灯分配集合
     * @throws 
     * @author JunLin.Yang<br>
     * @version <strong>v1.0.0</strong><br>
     * <br>
     * <strong>修改历史:</strong><br>
     * 修改人 | 修改日期 | 修改描述<br>
     * -------------------------------------------<br>
     * <br>
     * <br>
     */
  	public List<MessageRuleAndonAssign> selectMessageRuleAndonAssignsDetailByCondition(MessageRuleAndonAssignCondition condition);
  	
  
	
}
